package com.baosight.risk.mapper.xtdc;

import com.baosight.risk.base.mapper.BaseMapper;
import com.baosight.risk.service.xtdc.entity.XtdcAttach;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 作者： lishaoqing
 */
public interface XtdcAttachMapper extends BaseMapper<XtdcAttach> {

    /**
     * 根据id查询文件
     *
     * @param id 主键id
     * @return 文件
     */
    XtdcAttach selectById(@Param("id") String id);

    /**
     * 根据ids查询文件
     *
     * @param ids 主键id
     * @return 文件集合
     */
    List<XtdcAttach> selectByIds(List<String> ids);

    /**
     * 根据ids查询文件
     *
     * @param field 查询条件
     * @return 文件集合
     */
    List<XtdcAttach> selectField(String field);

    /**
     * 根据ids删除文件
     *
     * @param ids 主键id
     */
    Integer deleteByIds(List<String> ids);

    /**
     * 根据业务id查询附件
     *
     * @param sourceGuid 业务id
     */
    List<XtdcAttach> selectBySourceGuid(@Param("sourceGuid") String sourceGuid);

    /**
     * 根据业务id和来源id查询附件
     *
     * @param sourceGuid  业务id
     * @param sourceModel 来源id
     */
    List<XtdcAttach> selectBySourceAndModel(@Param("sourceGuid") String sourceGuid, @Param("sourceModel") String sourceModel);

    List<XtdcAttach> getFileList(@Param("file") XtdcAttach xtdcAttach);

    Integer deleteResourceByIds(@Param("ids") List<String> ids);

    List<XtdcAttach> selectByFolderId(@Param("folderId") String id);

    Integer deleteByFolder(@Param("dirId") String dirId);

    Integer deleteById(@Param("fileId") String fileId);

    /**
     * 查询汇总的披露报告附件
     */
    List<XtdcAttach> selectReport(@Param("file") XtdcAttach file,@Param("manageCompCode") String manageCompCode);

    XtdcAttach getCompanyReport();
}